10 REM ABM COMMAND
11 REM COPYRIGHT (C) 1981 BY
12 REM ARNOLD E. VAN BEVERHOUDT,JR
20 CLS:PRINT"3...";:CLEAR500:DIMR$,C5$:PRINT"2...";
25 DIMK(255),C$(2),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,Q,R,S,T,V,W,X,Y,Z,AM,I0,II,I9,B2,X1,X2,Y2,X2,X3,IM,TT,TD,U1,U2,U3,U4,BV,DL,ST
30 K(13)=1:K(87)=2:K(68)=3:K(88)=4:K(65)=5:K(81)=6:K(69)=7:K(90)=8:K(67)=9:PRINT"1..."
40 I=1:I0=10:II=11:I9=9:K=2:S=4:O=0:W=383
50 FORY=1TO4:FORR=1TO2:FORX=1TO8:READCC:C$(R)=C$(R)+CHR$(CC):NEXTX:NEXTR:NEXTY
130 CLS:FORT=1TO5:PRINT:PRINT:C$=CHR$(128):C1$=CHR$(136):C2$=CHR$(132):C3$=CHR$(136):C4$=CHR$(132)
140 X=RND(25)+I:A$=C1$+C$+C2$:B$=C3$+C$+C$+C$+C4$:C1$=C$+C$+C$+C$+C$
150 PRINTTAB(X+I);A$:PRINTTAB(X);B$:FORZ=1TO6:PRINTTAB(X);C1$:NEXTZ
160 PRINTTAB(X+I);"***":PRINTTAB(X);"*****":PRINTTAB(X+I);"***":PRINTTAB(X+2);"*":NEXTT
170 FOR T=1TO16:PRINT:SOUND1,2:NEXTT:FORCC=1TO32:C5$=C5$+C$:NEXTCC
180 PRINT:PRINT:PRINT
190 PRINT TAB(11);"ABM COMMAND":PRINT:PRINT
200 PRINT TAB(6);"COPYRIGHT (C) 1981 BY":PRINT:PRINT
210 PRINT TAB(2);"ARNOLD E. VAN BEVERHOUDT, JR.":PRINT:PRINT
215 PRINT TAB(3);"MC-10 VERSION BY JIM GERRIE"
220 PRINT:PRINT:PRINT:PRINTTAB(4);"PRESS ANY KEY TO CONTINUE";
230 R$=INKEY$:IFR$=""THEN230
240 Q=.5:R=.667:L=1
245 X=0:Y=0:G=0:H=0
250 U1=0:U2=0:U3=0:U4=0:V=0:IM=RND(4)+8:AM=10:BV=0
260 CLS:PRINT "DO YOU NEED INSTRUCTIONS (Y/N)?"
270 R$=INKEY$:IFR$=""THEN270
280 IFLEFT$(R$,I)<>"Y"ANDLEFT$(R$,I)<>"N"THEN260
290 IFLEFT$(R$,I)="Y"THEN300
295 GOTO600
300 CLS:FORT=1TO7:PRINTTAB(10);"RED ALERT! RED ALERT!":PRINT
310 SOUND1,5:NEXTT:CLS
320 PRINT "WE HAVE RECEIVED AN ULTIMATUM:
321 PRINT "SURRENDER PRONTO OR WE'LL LEVEL"
322 PRINT "TORONTO. RCAF AIR DEFENSE"
323 PRINT "COMMAND REPORTS THAT INTER-"
330 PRINT "CONTINENTAL BALLISTIC MISSILES"
331 PRINT "ARE HEADED TOWARDS CANADA."
340 PRINT "AS COMMANDER OF RCAF ABM"
341 PRINT "COMMAND, YOU ARE RESPONSIBLE"
350 PRINT "FOR GUIDING ANTI-BALLISTIC"
351 PRINT "MISSILES TO INTERCEPT AND"
352 PRINT "DESTROY THE ICBM'S. YOU DO THIS
353 PRINT "BY ROVING AN ELECTRONIC TARGET"
370 PRINT "MARKER TO INTERCEPT THE ICBM'S"
371 PRINT "FLIGHT PATH.":PRINT
372 PRINT "PRESS <ENTER> TO CONTINUE.";
375 R$=INKEY$:IFR$<>CHR$(13)THEN375
380 CLS:PRINT"YOUR ABM MISSILE BASE IS"
381 PRINT "LOCATED JUST OUTSIDE TORONTO,"
382 PRINT "AND HAS 10 MISSILES FOR EACH"
390 PRINT "ROUND OF INCOMING MISSILES."
391 PRINT "YOUR BASE IS THE MAIN DEFENSE"
401 PRINT "UNIT FOR VANCOUVER, TORONTO"
410 PRINT "OTTAWA, AND QUEBEC. VANCOUVER"
411 PRINT "AND QUEBEC ARE FAR FROM"
420 PRINT "YOUR ABM BASE AND ARE HARD TO"
421 PRINT "DEFEND. TORONTO AND OTTAWA"
430 PRINT "HOWEVER, CAN BE EASILY DEFENDED."
440 PRINT "PRESS <ENTER> TO CONTINUE.";
450 R$=INKEY$:IFR$<>CHR$(13)THEN450
460 CLS:PRINT "YOU SCORE 500 PTS FOR EACH"
461 PRINT "ICBM YOU DESTROY, AND 1000 PTS"
470 PRINT "FOR EACH SPY SATELLITE YOU HIT."
471 PRINT "BUT, YOUR SCORE IS REDUCED BY"
480 PRINT "250 PTS FOR ICBM HITS ON TOR-"
481 PRINT "ONTO OR OTTAWA, 100 PTS FOR"
490 PRINT "HITS ON VANCOUVER AND QUEBEC,"
491 PRINT "AND 50 PTS FOR HITS ON RURAL"
500 PRINT "AREAS BETWEEN THE CITIES. IF"
501 PRINT "YOUR BASE IS DESTROYED BY A"
510 PRINT "DIRECT ICBM HIT, THE GAME ENDS"
511 PRINT "AND YOU LOSE.":PRINT
512 PRINT:PRINT "PRESS <ENTER> TO CONTINUE.";
513 R$=INKEY$:IFR$<>CHR$(13)THEN513
520 CLS:PRINT "THE GAME NORMALLY ENDS WHEN ALL"
521 PRINT "4 CITIES HAVE BEEN DESTROYED,"
530 PRINT "THAT IS, WHEN EACH HAS BEEN HIT"
531 PRINT "BY 3 ICBM'S. FOR EACH 25000"
540 PRINT "POINTS YOU SCORE, YOU GET THE"
541 PRINT "BONUS OF HAVING A CITY REBUILT."
550 PRINT "THE GAME HAS MULTIPLE"
551 PRINT "LEVELS, WHICH CONTROL THE SIZE"
560 PRINT "OF THE NUCLEAR WARHEAD IN YOUR"
561 PRINT "ABM MISSILES. THE LARGER THE"
570 PRINT "WARHEAD, THE EASIER IT IS TO"
571 PRINT "DESTROY THE ICBM'S."
580 PRINT:PRINT "PRESS <ENTER> TO CONTINUE.";
590 R$=INKEY$:IFR$<>CHR$(13)THEN590
600 CLS:PRINT TAB(7);"ABM LAUNCH COMMANDS":PRINT
610 PRINT "<ENTER> - TO LAUNCH AN ABM"
620 PRINT "W - TO MOVE TARGET MARKER UP"
630 PRINT "X - TO MOVE TARGET MARKER DOWN"
640 PRINT "A - TO MOVE TARGET MARKER LEFT"
650 PRINT "D - TO MOVE TARGET MARKER RIGHT"
660 PRINT:PRINT "GOOD LUCK! YOU AND THE"
661 PRINT"ENTIRE COUNTRY WILL NEED IT."
670 PRINT:PRINT "ENTER DIFFICULTY LEVEL (1-5)?"
680 R$=INKEY$:CC=RND(1000):IFR$=""THEN680
690 DL=VAL(R$):IFDL<1ORDL>5THEN680
1020 CLS0:FORT=1TO500:NEXTT:GOTO4020
1030 GOTO1070
1040 IM=RND(4)+8:AM=10:PRINT@196,"SCORE:";V;"GET READY!";
1050 FORT=1TO10:FORZ=100TO160STEP10:SOUNDZ,I:NEXTZ:NEXTT:PRINT@192*Q,C5$;
1060 PRINT@431,CHR$(178);:PRINT@494,AM;
1070 FORT=32TO352STEP32:PRINT@T,C5$;:NEXT
1080 RESET(M*Q,N*R):M=64:N=20
1090 SET(M*Q,N*R,L)
1100 TT=RND(100)
1110 IFTT>=20THEN5020
1111 GOTO11020
1120 IFBV>=25000THEN10020
1130 IFU1>KANDU2>KANDU3>KANDU4>KTHEN2020
1140 IFIM<ITHEN1040
1150 GOTO1070
2020 PRINT@256*Q,"********************************";
2025 PRINT"YOUR FINAL SCORE WAS:";V;:PRINT:PRINT
2030 IFV>=5000THEN2040
2032 PRINT"ARE YOU AN ENEMY SPY? YOU"
2034 PRINT"LET THE COUNTRY BE DESTROYED"
2036 PRINT"AND CAPTURED. YOU WILL BE"
2038 PRINT"TRIED FOR TREASON.":GOTO2070
2040 IFV>=50000THEN2050
2042 PRINT"WE WON THE WAR, NO THANKS"
2046 PRINT"TO YOU. THE CITIES WERE"
2048 PRINT"REDUCED TO RUBBLE, AND THERE":PRINT"WERE VERY FEW SURVIVORS."
2049 PRINT"YOU WILL BE REDUCED IN":PRINT"RANK TO 'PRIVATE.'":GOTO2070
2050 IFV>=100000THEN2060
2051 PRINT"AT DEFENDING THE COUNTRY'S"
2052 PRINT"MAJOR CITIES.":PRINT"THE ENEMY ATTACK WAS REPELLED,"
2053 PRINT"BUT CASUALTIES WERE HEAVY."
2054 PRINT"YOU WILL BE PROMOTED TO COLONEL.":GOTO2070
2060 PRINT"YOU DID AN OUTSTANDING JOB"
2061 PRINT"AT DEFENDING THE COUNTRY'S
2062 PRINT"CITIES.":PRINT"THE CITIES SURVIVED MITH MINOR"
2063 PRINT"DAMAGE AND CASUALTIES.":PRINT"YOU WILL BE RECOMMENDED FOR"
2064 PRINT"THE VICTORIA CROSS."
2070 PRINT"********************************";
2080 FORT=1TO10:FORZ=100TO150STEP10:SOUNDZ,I:NEXTZ:FORZ=90TO10STEP-10:SOUNDZ,I:NEXTZ:NEXTT
2090 CLS:PRINT"DO YOU WANT TO PLAY AGAIN (Y/N)";:IFV>HSTHENHS=V
2095 PRINT@230-32,"HIGH SCORE:";HS;
2096 PRINT@230+32,"YOUR SCORE:";V;
2100 R$=INKEY$:IFR$=""THEN2100
2110 IFLEFT$(R$,I)<>"Y"ANDLEFT$(R$,I)<>"N"THEN2090
2120 IFLEFT$(R$,I)="Y"THEN250
2125 CLS:END
2130 CLS:FORT=1TO16:PRINT"********************************";:NEXTT
2140 FORT=1TO16:PRINT"                               ";:NEXTT
2150 CLS:PRINT:PRINT:PRINT:PRINTTAB(2);"YOU JUST BLEW IT COMMANDER!":PRINT
2160 PRINTTAB(2);"YOUR ABM BASE WAS DESTROYED!":PRINT
2170 PRINTTAB(3);"WELL, SO MUCH FOR THE TRUE":PRINT
2175 PRINTTAB(4);"NORTH STRONG AND FREE...":PRINT
2180 FORT=1TO30:SOUND25,I:NEXTT:FORCC=1TO2000:NEXTCC
2190 GOTO2090
4020 PRINT@384,C$(1);
4030 PRINT@416,C$(2);
4100 PRINT@448,"VANCOUVER TORONTO OTTAWA QUEBEC";
4110 PRINT@0,"     ** ABM COMMAND **         ";
4120 PRINT@494,AM;
4130 GOSUB8280
4140 GOTO1030
5020 A=RND(127):B=3:C=RND(118)+4:D=36:IM=IM-I
5030 IFIM<1THEN1120
5040 IFABS(B-D)>ABS(A-C)THEN5100
5050 IFABS(A-C)>64THENST=SGN(C-A)*2:GOTO5055
5051 ST=SGN(C-A)
5055 FORX2=ATOCSTEPST
5060 Y2=B+(B-D)/(A-C)*(X2-A)
5070 IFY2>35THEN8020
5080 SET(X2*Q,Y2*R,L):GOTO6020
5090 NEXT:GOTO5150
5100 IFABS(A-C)>64THENST=SGN(D-B)*2:GOTO5105
5101 ST=SGN(D-B)
5105 FORY2=BTODSTEPST
5110 X2=A+(Y2-B)*(C-A)/(D-B)
5120 IFY2>35THEN8020
5130 SET(X2*Q,Y2*R,L):GOTO6020
5140 NEXT
5150 CLS:GOTO1120
6020 ONK(PEEK(W)ANDPEEK(K))GOTO6150,6170,6190,6210,6230,6250,6280,6310,6340
6120 IFTT<20THEN6130
6125 IFABS(B-D)>ABS(A-C)THEN5140
6126 GOTO5090
6130 IFTD=ITHEN11070
6135 GOTO11120
6150 E=60:F=40:G=M:H=N:AM=AM-I
6160 IFAM>=0THEN7020
6165 SOUND100,I:PRINT@494,"OUT ";:GOTO6120
6170 RESET(M*Q,N*R):N=N-K:IFN<7THENN=7
6180 SET(M*Q,N*R,L):GOTO6120
6190 RESET(M*Q,N*R):M=M+S:IFM>121THENM=121
6200 SET(M*Q,N*R,L):GOTO6120
6210 RESET(M*Q,N*R):N=N+K:IFN>30THENN=30
6220 SET(M*Q,N*R,L):GOTO6120
6230 RESET(M*Q,N*R):M=M-S:IFM<6THENM=6
6240 SET(M*Q,N*R,L):GOTO6120
6250 RESET(M*Q,N*R):M=M-K:N=N-K:IFM<6THENM=6
6260 IFN<6THENN=6
6270 SET(M*Q,N*R,L):GOTO6120
6280 RESET(M*Q,N*R):M=M+K:N=N-K:IFM>121THENM=121
6290 IFN<6THENN=6
6300 SET(M*Q,N*R,L):GOTO6120
6310 RESET(M*Q,N*R):N=N+K:IFN>30THENN=30:GOTO6330
6320 M=M-K:IFM<6THENM=6
6330 SET(M*Q,N*R,L):GOTO6120
6340 RESET(M*Q,N*R):N=N+K:IFN>30THENN=30:GOTO6360
6350 M=M+K:IFM>121THENM=121
6360 SET(M*Q,N*R,L):GOTO6120
7020 IFABS(F-H)>ABS(E-G)THEN7100
7030 FORX1=ETOGSTEPSGN(G-E)
7040 Y1=F+(F-H)/(E-G)*(X1-E)
7050 SET(X1*Q,Y1*R,L):SOUND200,I:IFY1>35THENRESET(X1*Q,Y1*R)
7060 NEXT:GOTO9020
7070 IFTT<20THEN7080
7075 GOTO7090
7080 IFTD=1THEN11070
7085 GOTO11120
7090 IFABS(B-D)>ABS(A-C)THEN5140
7095 GOTO5090
7100 FORY1=FTOHSTEPSGN(H-F)
7110 X1=E+(Y1-F)*(G-E)/(H-F)
7120 SET(X1*Q,Y1*R,L):SOUND200,I:IFY1>35THENRESET(X1*Q,Y1*R)
7130 NEXT:GOTO9020
7140 IFTT<20THEN7150
7145 GOTO7160
7150 IFTD=ITHEN11070
7155 GOTO11120
7160 IFABS(B-D)>ABS(A-C)THEN5140
7165 GOTO5090
8020 FORT=OTOK
8030 X=(C-T-I)*Q:Y=D*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8040 X=C*Q:Y=(D-T-I)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8050 X=(C+T+I)*Q:Y=D*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8060 X=C*Q:Y=(D+T+I)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8070 X=(C-T)*Q:Y=(D-T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8080 X=(C+T)*Q:Y=(D-T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8090 X=(C+T)*Q:Y=(D+T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8100 X=(C-T)*Q:Y=(D+T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
8110 FORT1=100TO105:SOUNDT1,I:NEXT
8120 NEXTT:FORT=OTOK
8130 X=(C-T-I)*Q:Y=D*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8140 X=C*Q:Y=(D-T-I)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8150 X=(C+T+I)*Q:Y=D*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8160 X=C*Q:Y=(D+T+I)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8170 X=(C-T)*Q:Y=(D-T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8180 X=(C+T)*Q:Y=(D-T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8190 X=(C+T)*Q:Y=(D+T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8200 X=(C-T)*Q:Y=(D+T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
8210 FORT1=100TO105:SOUNDT1,I:NEXT:NEXT
8220 IFC=60ORC=61THEN2130
8230 IFC<27THENV=V-100:BV=BV-100:U1=U1+I:GOTO8280
8240 IFC>32ANDC<60THENV=V-250:BV=BV-250:U2=U2+I:GOTO8280
8250 IFC>65ANDC<93THENV=V-250:BV=BV-250:U3=U3+I:GOTO8280
8260 IFC>99THENV=V-100:BV=BV-100:U4=U4+I:GOTO8280
8270 V=V-50:BV=BV-50:GOTO8280
8280 IFU1<3THENPRINT@963*Q,U1;:GOTO8290
8285 PRINT@481,"xxxxx";
8290 IFU2<3THENPRINT@980*Q,U2;:GOTO8300
8295 PRINT@489,"xxxxx";
8300 IFU3<3THENPRINT@999*Q,U3;:GOTO8310
8305 PRINT@498,"xxxxx";
8310 IFU4<3THENPRINT@1014*Q,U4;:GOTO8320
8315 PRINT@505,"xxxxx";
8320 PRINT@47*Q,V;
8330 FORT=1TO250:NEXTT:GOTO1120
9020 IFDL>1THEN9090
9030 X=G*Q:Y=H*R
9040 SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9050 FORT1=30TO50STEP10:SOUNDT1,I:NEXTT1
9060 RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9070 FORT1=30TO50STEP10:SOUNDT1,I:NEXTT1
9075 SET(X,Y,L):SET(X,Y+I,L):SET(X,Y-I,L):SET(X+I,Y,L):SET(X-I,Y,L)
9080 FORT1=30TO50STEP10:SOUNDT1,I:NEXTT1
9085 RESET(X,Y):RESET(X,Y+I):RESET(X,Y-I):RESET(X+I,Y):RESET(X-I,Y)
9087 FORT1=30TO50STEP10:SOUNDT1,I:NEXT:GOTO9290
9090 FORT=OTODL-K
9100 X=(G-T-I)*Q:Y=H*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9110 X=G*Q:Y=(H-T-I)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9120 X=(G+T+I)*Q:Y=H*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9130 X=G*Q:Y=(H+T+I)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9140 X=(G-T)*Q:Y=(H-T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9150 X=(G+T)*Q:Y=(H-T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9160 X=(G+T)*Q:Y=(H+T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9170 X=(G-T)*Q:Y=(H+T)*R:SET(X,Y,L):SET(X+I,Y+I,L):SET(X-I,Y-I,L):SET(X+I,Y-I,L):SET(X-I,Y+I,L)
9180 FORT1=30TO100STEP15:SOUNDT1,I:NEXT
9190 NEXTT:FORT=OTODL-K
9200 X=(G-T-I)*Q:Y=H*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9210 X=G*Q:Y=(H-T-I)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9220 X=(G+T+I)*Q:Y=H*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9230 X=G*Q:Y=(H+T+I)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9240 X=(G-T)*Q:Y=(H-T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9250 X=(G+T)*Q:Y=(H-T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9260 X=(G+T)*Q:Y=(H+T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9270 X=(G-T)*Q:Y=(H+T)*R:RESET(X,Y):RESET(X+I,Y+I):RESET(X-I,Y-I):RESET(X+I,Y-I):RESET(X-I,Y+I)
9280 FORT1=30TO100STEP15:SOUNDT1,I:NEXT:NEXT
9290 PRINT@494,AM;
9300 IFTT<20THEN9330
9310 IFPOINT(X2*Q,Y2*R)=ITHENSET(M*Q,N*R,L):GOTO9360
9320 IFPOINT(X2*Q,Y2*R)=OTHENV=V+500:BV=BV+500:PRINT@23,V;:GOTO9350
9330 IFPOINT(X3*Q,I0*R)=ITHENSET(M*Q,N*R,L):GOTO9370
9340 IFPOINT(X3*Q,I0*R)=OTHENV=V+1000:BV=BV+1000:PRINT@23,V;:GOTO9350
9350 FORT=1TO250:NEXTT:GOTO1120
9360 IFABS(F-H)>ABS(E-G)THEN7160
9365 GOTO7090
9370 IFTD=ITHEN11070
9380 GOTO11120
10020 PRINT@399*Q,"BONUS CITY REBUILT";
10030 FORT=1TO10:FORZ=200TO250STEP10:SOUNDZ,I:NEXTZ:NEXTT:PRINT@399*Q,C5$;
10040 U1=0:PRINT@963*Q,U1;
10050 PRINT@384,LEFT$(C$(1),8);
10060 PRINT@416,LEFT$(C$(2),8);:PRINT@481,C1$;
10070 BV=0:GOTO1130
11020 TD=RND(K)
11030 ONTDGOTO11040,11090
11040 FORX3=ITO126STEPRND(5)+K
11050 SET(X3*Q,I0*R,L):SET((X3-I)*Q,I9*R,L):SET((X3-I)*Q,II*R,L):SET((X3+I)*Q,I9*R,L):SET((X3+I)*Q,II*R,L)
11060 GOTO6020
11070 RESET(X3*Q,I0*R):RESET((X3-I)*Q,I9*R):RESET((X3-I)*Q,II*R):RESET((X3+I)*Q,I9*R):RESET((X3+I)*Q,II*R)
11080 NEXTX3:GOTO1120
11090 FORX3=126TO1STEP-RND(5)+(-2)
11100 SET(X3*Q,I0*R,L):SET((X3-I)*Q,I9*R,L):SET((X3-I)*Q,II*R,L):SET((X3+I)*Q,I9*R,L):SET((X3+I)*Q,II*R,L)
11110 GOTO6020
11120 RESET(X3*Q,I0*R):RESET((X3-I)*Q,I9*R):RESET((X3-I)*Q,II*R):RESET((X3+I)*Q,I9*R):RESET((X3+I)*Q,II*R)
11130 NEXT:GOTO1120
12000 DATA128,128,128,128,128,128,128,128 
12010 DATA128,130,138,138,138,130,128,128
12015 DATA128,129,139,128,128,128,128,128
12020 DATA128,128,139,131,143,130,128,178
12025 DATA128,128,128,128,129,128,128,128
12030 DATA128,128,128,131,135,131,130,128
12035 DATA128,128,128,129,129,128,128,128
12040 DATA128,128,128,135,143,130,128,128
